High-precision radio frequency ranging system

ABSTRACT

Methods for estimating a distance between an originator and a transponder, methods for calculating a fine time adjustment in a radio, computer-readable storage media containing instructions to configure a processor to perform such methods, originators used in a system for estimating a distance to a transponder, and transponders used in a system for estimating a distance to an originator. The methods utilize fine time adjustments to achieve sub-clock cycle time resolution. The methods may utilize offset master clocks. The methods may utilize a round-trip full-duplex configuration or a round-trip half-duplex configuration. The method produces accurate estimates of the distance between two radios.

This is a continuation of application Ser. No. 12/659,448, filed Mar. 9,2010, a substitute specification of which was filed on Apr. 30, 2010(currently pending), which is incorporated herein by reference.

BACKGROUND

1. Technical Field

This invention relates to radio frequency ranging systems that providean estimate of the distance between two radios and/or the relative orabsolute position of a radio.

2. Description of Related Art

Radio-frequency (RF) ranging technology provides distance and relativeposition between objects without the need to take physical measurements.RF ranging systems calculate the distance between two objects based inpart on the time a radio signal propagates between those objects. Inair, radio signals propagate at a constant rate, roughly equal to thespeed of light.

Knowing the absolute position of a sufficient number of objects (such ase.g., cell phone towers fixed relative to the earth), an RF rangingsystem can be used to determine the absolute position of other objects.An RF ranging system may utilize a signal from the Global PositioningSystem (GPS) to provide absolute location. In many situations, however,GPS signals are either unavailable or actively denied to a potentialuser. RF ranging systems can provide accurate information regardingdistance and/or location even in locations or situations without accessto GPS signals.

Two general types of RF time-of-flight ranging systems exist. The firsttype utilizes highly accurate, synchronized clocks to calculate thepropagation time. For example, in such a system, a first radio and asecond radio both contain clocks synchronized such that the second radioreceives the signal from the first radio and compares the departure timeto the arrival time. The system multiplies this propagation time by thespeed of light to estimate the distance between the radios. Maintaininga system of clocks synchronized to the level of accuracy required tomake this type of system practicable for ranging purposes represents asignificant drawback.

The second type of RF time-of-flight ranging system does not requireabsolute clock synchronization. Typically, these systems compute clockoffsets or correction factors to account for clock references that arenot synchronized. The clock offset can be computed as an unknown alongwith the coordinates of a positioning system, such as GPS, based on aplurality of observations. For time-of-flight measurements between tworadios, or where the above method otherwise fails, the clock offset maybe observed and computed by monitoring the phasing of the receivedsignal, relative to the local clock.

RF ranging systems may utilize a round-trip time-of-flight measurementto compute the distance between the radios. These types of systems canbe further classified into “round-trip full-duplex” configurations and“round-trip half-duplex” configurations. In a round-trip full-duplexconfiguration, a first radio transmits a signal to a second radio, whichthen retransmits the same signal back to the first radio withoutperforming any calculations using the signal. After receiving theretransmitted signal from the second radio, the first radio compares thedeparture time to the arrival time to calculate the round-trip signalpropagation time. The system multiplies this time by the speed of lightand divides by two to estimate the distance between the radios.

In a round-trip half-duplex configuration, a first radio transmits asignal to a second radio, which then performs calculations using thatsignal. The second radio then transmits a new signal, which oftencontains the results of the calculations performed by the second radio,back to the first radio. The first radio then utilizes the data from thesecond radio and other data within the first radio to calculate theround-trip signal propagation time. The system multiplies this time bythe speed of light and divides by two to estimate the distance betweenthe radios.

Early approaches to RF ranging systems were primarily dominated bycontinuous wave (CW) and other narrow bandwidth systems. While CWsystems, such as tellurometers, enable long distance ranging in the tensof kilometers and accuracies of 1 cm at a distance of 1 km in lowmultipath environments, these systems often suffer from poor multipathperformance, susceptibility to jamming, have a high probability ofdetection and interception, and tend to cause interference to othercommunications systems. In recent years, CW techniques have mostly beensuperseded by ultra-wideband (UWB) and various spread spectrum systems.

The most common approaches to improve RF time-of-flight rangingperformance are to increase system power (signal-to-noise ratio) and toincrease system bandwidth. Scaling bandwidth up to multi-GHz levels, orequivalently scaling to very short pulses in time can achievecentimeter-level position accuracies and resolution. When UWB systemsare constrained to operate within FCC regulations however, their rangeis typically limited to a few hundred meters using directional antennasin low multipath environments, and typically much less than 100 metersindoors with omni-directional antennas. UWB systems also require complexRF electronics which can drive up system cost and risk.

Spread spectrum technologies have several advantages over UWB systemsthat include low probability of intercept, low susceptibility tojamming, and increased range over UWB systems when radios are requiredto conform to FCC regulations. Many commercial spread spectrum systemsoperate as FCC unlicensed radios in the industrial, scientific, andmedical (ISM) bands of 915 MHz, 2.4 GHz, and/or 5.8 GHz. Somecommercially available implementations, such as Zigbee radios, includeRF ranging with accuracies of several meters and rely on time differenceof arrival and received signal strength measurements. Cellular phonenetworks also estimate radio locations through angle of arrival andreceived signal strength measurements with accuracies in the tens ofmeters. In addition, in dense signal environments, certaininfrastructure radio signals such as television, radio, and Wi-Fihotspots can be used to estimate location within several meters,depending on the availability of signals.

Accurate RF ranging systems can be implemented using a common modulationtechnique known as direct-sequence spread spectrum (DSSS), in which theinput data (often called the baseband signal) is multiplied by apredetermined repeating sequence of “1” and “−1” values (referred to asa pseudonoise or PN code sequence). Each value in a PN code sequence isreferred to as a chip. The PN code sequence is at a higher frequencythan the baseband signal and thereby “spreads” the baseband signal to awider band or “spectrum.” The resulting PN-coded signal is modulated toan RF carrier frequency and transmitted to a receiver. In the receiver,a correlator multiplies the PN-coded signal by the same PN code sequence(since 1×1=1 and −1×−1=1) to reconstruct the original baseband signal.

RF ranging systems using asynchronous clocks can use PN codes to measuresmall phase offsets between radios. Specifically, the autocorrelationfunction of a PN code sequence displays a sharp peak when the PN codesequences are aligned. The peak moves with the phase offset between thetwo PN code sequences. By accurately determining the phase offset, i.e,relative timing, between a transmitter and receiver, an RF rangingsystem can improve its ability to estimate distance.

The theoretical ranging accuracy limit for the variance for an RFtime-of-flight ranging system using DSSS is given by the Cramér-RaoLower Bound,

$\sigma_{\hat{i}}^{2} = \frac{1}{8{\pi^{2} \cdot {SNR} \cdot \alpha \cdot N \cdot {BW}^{2}}}$where SNR is the average signal-to-noise ratio of the two radios, α isthe number of code copies averaged, BW is the occupied spectralbandwidth, N is the number of chips in each PN code sequence, andσ_({circumflex over (t)}) ² is the lower bound of the variance of theround-trip time of flight. The lower bound of the standard deviation ofthe one-way distance, σ_({circumflex over (d)}) is given by the equation

$\sigma_{\hat{d}} = {\sigma_{\hat{i}} \cdot \frac{c}{2} \cdot k_{medium}}$where c is the speed of light and k_(Medium) is a correction factor forthe speed of light through the intervening medium between the originatorand transponder.

There is a need for a high-precision RF ranging system that obviates orat least mitigates one or more of the shortcomings of previoustechniques to provide more accurate estimates of distance between tworadios. Through the use of techniques discussed below, the presentinvention can provide an RF ranging system using DSSS that approachesthe theoretical ranging accuracy limit.

SUMMARY

The present disclosure discusses methods for estimating a distancebetween a first radio (an originator) and a second radio (atransponder), methods for calculating a fine time adjustment in a radio,computer-readable storage media containing instructions to configure aprocessor to perform such methods, originators used in a system forestimating a distance to a transponder, and transponders used in asystem for estimating a distance to an originator.

In one aspect, a method for estimating a distance between an originatorand a transponder includes: transmitting a first message from a firstchannel in the originator; receiving a second message on a secondchannel in the originator; calculating a coarse time measurement of theround-trip propagation time between the originator and the transponder;calculating a fine time adjustment in the originator by calculating aplurality of peak error measurements of a correlator output in thesecond channel of the originator during a time period, calculating arate of change of the plurality of peak error measurements during thetime period, and estimating a peak error at a point after the timeperiod by using the rate of change of the plurality of peak errormeasurements during the time period; calculating a round-trippropagation time using the coarse time measurement and the fine timeadjustment; and calculating an estimated distance between the originatorand the transponder using the round-trip propagation time.

In another aspect, a method for estimating a distance between anoriginator and a transponder includes: transmitting a first message fromthe originator to the transponder; transmitting a second message fromthe transponder to the originator; calculating a coarse time measurementof the round-trip propagation time between the originator and thetransponder; calculating a first fine time adjustment in the transponderby calculating a first plurality of peak error measurements of acorrelator output in the transponder during a first time period,calculating a rate of change of the first plurality of peak errormeasurements during the first time period, and estimating a peak errorat a point after the first time period by using the rate of change ofthe first plurality of peak error measurements during the first timeperiod; calculating a second fine time adjustment in the originator bycalculating a second plurality of peak error measurements of acorrelator output in the originator during a second time period,calculating a rate of change of the second plurality of peak errormeasurements during the second time period, and estimating a peak errorat a point after the second time period by using the rate of change ofthe second plurality of peak error measurements during the second timeperiod; calculating a round-trip propagation time using the coarse timemeasurement and the first and second fine time adjustments; andcalculating an estimated distance between the originator and thetransponder using the round-trip propagation time.

In another aspect, a method for calculating a fine time adjustment in aradio includes: calculating a plurality of peak error measurements of acorrelator output in the radio during a time period; calculating a rateof change of the plurality of peak error measurements during the timeperiod; and estimating a peak error at a point after the time period byusing the rate of change of the plurality of peak error measurementsduring the time period.

In another aspect, a computer-readable storage medium containsinstructions to configure a processor to perform a method for estimatinga distance between an originator and a transponder in which the methodincludes: transmitting a first message from a first channel in theoriginator; receiving a second message on a second channel in theoriginator; calculating a coarse time measurement of the round-trippropagation time between the originator and the transponder; calculatinga fine time adjustment in the originator by calculating a plurality ofpeak error measurements of a correlator output in the second channel ofthe originator during a time period, calculating a rate of change of theplurality of peak error measurements during the time period, andestimating a peak error at a point after the first time period by usingthe rate of change of the plurality of peak error measurements duringthe time period; calculating a round-trip propagation time using thecoarse time measurement and the fine time adjustment; and calculating anestimated distance between the originator and the transponder using theround-trip propagation time.

In another aspect, a computer-readable storage medium containsinstructions to configure a processor to perform method for estimating adistance between an originator and a transponder in which the methodincludes: transmitting a first message from the originator to thetransponder; transmitting a second message from the transponder to theoriginator; calculating a coarse time measurement of the round-trippropagation time between the originator and the transponder; calculatinga first fine time adjustment in the transponder by calculating a firstplurality of peak error measurements of a correlator output in thetransponder during a first time period, calculating a rate of change ofthe first plurality of peak error measurements during the first timeperiod, and estimating a peak error at a point after the first timeperiod by using the rate of change of the first plurality of peak errormeasurements during the first time period; calculating a second finetime adjustment in the originator by calculating a second plurality ofpeak error measurements of a correlator output in the originator duringa second time period, calculating a rate of change of the secondplurality of peak error measurements during the second time period, andestimating a peak error at a point after the second time period by usingthe rate of change of the second plurality of peak error measurementsduring the second time period; calculating a round-trip propagation timeusing the coarse time measurement and the first and second fine timeadjustments; and calculating an estimated distance between theoriginator and the transponder using the round-trip propagation time.

In another aspect, a computer-readable storage medium containsinstructions to configure a processor to perform a method forcalculating a fine time adjustment in a radio in which the methodincludes calculating a plurality of peak error measurements of acorrelator output in the radio during a time period; calculating a rateof change of the plurality of peak error measurements during the timeperiod; and estimating a peak error at a point after the time period byusing the rate of change of the plurality of peak error measurementsduring the time period.

In another aspect, an originator for estimating a distance between theoriginator and a transponder includes: transmission means fortransmitting a first message from a first channel in the originator;receiving means for receiving a second message on a second channel inthe originator; calculating means for calculating a coarse timemeasurement of the round-trip propagation time between the originatorand the transponder; calculating means for calculating a fine timeadjustment including calculating means for calculating a plurality ofpeak error measurements of a correlator output in the second channelduring a time period, calculating means for calculating a rate of changeof the plurality of peak error measurements during the time period, andestimating means for estimating a peak error at a point after the timeperiod by using the rate of change of the plurality of peak errormeasurements during the time period; calculating means for calculating around-trip propagation time using the coarse time measurement and thefine time adjustment; and calculating means for calculating an estimateddistance between the originator and the transponder using the round-trippropagation time.

In another aspect, an originator for estimating a distance between theoriginator and a transponder includes: transmission means fortransmitting a first message to the transponder; receiving means forreceiving a second message from the transponder; calculating means forcalculating a coarse time measurement of the round-trip propagation timebetween the originator and the transponder; calculating means forcalculating a fine time adjustment in the originator includingcalculating means for calculating a plurality of peak error measurementsof a correlator output in the originator during a time period,calculating means for calculating a rate of change of the plurality ofpeak error measurements during the time period, and estimating means forestimating a peak error at a point after the time period by using therate of change of the plurality of peak error measurements during thetime period; calculating means for calculating a round-trip propagationtime using the coarse time measurement, the fine time adjustment, and atleast some data from the second message from the transponder; andcalculating means for calculating an estimated distance between theoriginator and the transponder using the round-trip propagation time.

In another aspect, a transponder for use in a system for estimating adistance between an originator and the transponder includes: receivingmeans for receiving a first message from the originator; calculatingmeans for calculating a coarse time measurement of the round-trippropagation time between the originator and the transponder; calculatingmeans for calculating a fine time adjustment in the transponderincluding calculating means for calculating a plurality of peak errormeasurements of a correlator output in the transponder during a timeperiod, calculating means for calculating a rate of change of theplurality of peak error measurements during the time period; andestimating means for estimating a peak error at a point after the timeperiod by using the rate of change of the plurality of peak errormeasurements during the time period; and transmission means fortransmitting a second message to the originator.

The accompanying drawings which are incorporated in and constitute apart of this specification, illustrate embodiments of the disclosedmethod and, together with the description, serve to explain theprinciples of the methods and computer-readable storage media.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an illustration of an exemplary RF ranging system employingthe methods of the present disclosure;

FIG. 2 is an exemplary measurement cycle for a round-trip full-duplexconfiguration of the exemplary system embodied in FIG. 1;

FIG. 3 is an exemplary method of the present disclosure;

FIG. 4 is an exemplary depiction of an ideal correlator output peak;

FIG. 5 is an exemplary depiction of a typical, rounded correlator outputpeak;

FIG. 6 is an exemplary measurement cycle for a round-trip half-duplexconfiguration of the exemplary system embodied in FIG. 1; and

FIG. 7 is an exemplary method of the present disclosure.

It is to be understood that both the foregoing general description andthe following detailed description are exemplary and explanatory onlyand are not restrictive of the scope of the invention as claimed.

DESCRIPTION OF THE DISCLOSED EMBODIMENTS

Using the methods and apparatus described below, an RF round-triptime-of-flight asynchronous direct-sequence spread spectrum (DSSS)system can be designed to operate as an FCC unlicensed radio in the ISMbands. However, such a system is flexible in spectrum usage, and nottied to any particular band. Such a system would allow unlicensedoperation, relatively long range, and relatively precise measurements.

Depicted in FIG. 1 is an exemplary RF ranging system, designatedgenerally by 10. System 10 includes a mobile radio 12 and at least oneother radio, designated generally by 14, which may be fixed (e.g., astationary radio or cell phone tower) or mobile. RF ranging system 10may be used to calculate the distance between mobile radio 12 and anyone of the other radios, for example radio 14 a, and/or may be used tofind the location of mobile radio 12 relative to a plurality of otherradios, for example, radios 14 a, 14 b, and 14 c, which may be organizedinto a network.

Such a system has many uses, including but not limited to: location andtracking of indoor pedestrians such as first responders, location andtracking of a military vehicle or soldier, location and control ofaerial vehicles (manned or unmanned), and assessment of military weaponsguidance systems.

Round-Trip Full-Duplex Configuration

Referring now to FIG. 2, an exemplary measurement cycle 200 for around-trip full-duplex configuration is shown. For either thefull-duplex or the half-duplex configuration, a radio (the originator)begins each measurement cycle by transmitting a PN-coded message viatransceivers or transmitters known in the art. In one embodiment, eachPN-coded message may consist of three parts: a preamble of a pluralityof PN code sequences, a synchronization word, and a payload of data. Theinvention is not limited to PN-coded messages in this format, however,and other formats may be used including other methods ofsynchronization.

As described above, in a round-trip full-duplex configuration, theoriginator has at least two separate channels: a first channel thattransmits a PN-coded message to begin a measurement cycle 200 and asecond channel that receives the PN-coded message after beingretransmitted by a second radio (the transponder). The transponder alsohas at least two separate channels: a first channel that receives thePN-coded message from the originator and a second channel that transmitsthe PN-coded message back to the originator. The transponder may be ananalog loopback or “echo” radio as is known in the art. In a round-tripfull-duplex configuration, the first channels and second channels in theoriginator and transponder may contain transceivers or transmittersknown in the art capable of transmitting and receiving PN-coded messagesand other signals. Such a system typically needs at least two channelsin the originator and transponder because PN-coded messages such asthose used in the present invention often propagate from the originatorto the transponder and back faster than the entire original PN-codedmessage can be transmitted from the originator. The first channel of theoriginator is represented by the top column in FIG. 2 while the secondchannel is represented by the bottom column in FIG. 2.

In a preferred embodiment, the first channel and the second channel ofthe originator operate at slightly offset master clock frequencies. Byoffsetting the master clock frequencies of the first and second channelof the originator, the relative phasing between the channels drifts overtime at a measurable rate (the drift rate is proportional to thedifference in the master clock frequencies). This provides at leastthree advantages: (1) the signal occupies the entire state space betweenexactly aligned and misaligned by one half baseband clock cycle,providing a scan across the correlation space, (2) the measured slope ofthe clock phasing assists in the estimation of the relative phasing whena synchronization word is received, as will be discussed below, and (3)no additional effort is required to ensure synchronization between therespective master clock frequencies.

Each measurement cycle 200 begins when the first channel on theoriginator begins sending a PN-coded message to the transponder, asshown at 210. As described above, each PN-coded message may consist ofthree parts: a preamble of a plurality of PN code sequences 212, asynchronization word 214, and a payload of data 222. In a preferredembodiment, the preamble 212 consists of 512 PN code sequences. Tocreate the preamble, the PN code sequence is spread using input datawhich may be repeating values of “1,” or repeating values of “0,” orother data, such that the PN code sequence can be used to measure peakerror in the manner discussed below. In a preferred embodiment, thesynchronization word 214 consists of 8 PN code sequences. Also in apreferred embodiment, each PN code sequence is 17 chips in length. Forreasons discussed above, the length of the PN code sequence is inverselyproportional to the theoretical ranging accuracy limit. The invention isnot limited, however, to PN-code sequences and synchronization words ofspecific sizes and other lengths may be used consistent with theinvention.

After the first channel of the originator sends a PN-coded message, thetransponder receives the message, demodulates the RF carrier frequencyto intermediate frequency (IF), then modulates from IF to a new RFcarrier frequency, and then re-transmits the message to the originator.The second channel on the originator receives and demodulates thismessage from the transponder and sends the PN-coded message to acorrelator in the second channel, which may be a real-time correlator.The propagation time from the originator to the transponder and back arerepresented by 230 a and 230 b in FIG. 2 respectively. System delaysrelated to transmitting and receiving are represented by 232 a(transmitting from the originator), 232 b (receiving by thetransponder), 234 a (transmitting from the transponder) and 234 b(receiving by the originator). These system delays 232 and 234 whichwill be referred to collectively as t_(System) _(—) _(Delay), may becalibrated for a particular embodiment and may be either a fixed valueor a value determined by the environmental conditions such astemperature. The system delay related to the transponder demodulatingthe RF carrier frequency to IF and then modulating from IF to a new RFcarrier frequency is represented by 236. This delay will be referred toas t_(Loop) _(—) _(Back).

At 240, the second channel of the originator begins receiving data andtracking the phase offset, if any, between the received data (which isat the first channel master clock frequency, f_(First)) and the local(second channel) master clock frequency, f_(Second). Specifically, thecorrelator in the second channel of the originator outputs the basebandsignal and timing information regarding the peaks of the autocorrelationfunction for use in peak error tracking to calculate a fine timeadjustment, as described in further detail below. The preamble 212 sentby the first channel generally corresponds to the preamble 242 receivedby the second channel.

At 220, the first channel of the originator transmits a synchronizationword 214, and begins counting the number of local (first channel) masterclock cycles that elapse between 220 and 250, when the second channelreceives a synchronization word 244 from the transponder. As describedbelow in further detail, the master clock count, M_(count), is used tocalculate a coarse timing measurement in a manner described in furtherdetail below. The time frame of M_(Count) is represented by 224.Generally, and as described below in further detail, the numbers ofmaster clock cycles counted by the originator is used to calculate acoarse timing measurement while the fine adjustment, described below infurther detail, allows correction of time intervals smaller than themaster clock cycle of the originator.

A synchronization word detector function determines when thesynchronization word has been received or sent. The synchronization word214 sent by the first channel generally corresponds to thesynchronization word 244 received by the second channel. The payload ofdata 252 received by the second channel generally corresponds to thepayload of data 222 sent by the first channel.

Referring to FIG. 3, in accordance with one aspect of the presentdisclosure, as embodied and broadly described herein, a method formeasuring a distance between an originator and a transponder 300includes a step 310 of calculating a coarse time measurement. Step 310may be performed using a field programmable gate array (FPGA), anintegrated circuit (IC), a digital signal processor (DSP) ormicrocontroller in the originator. Generally, the coarse timemeasurement is proportional to the master clock count discussed above(M_(Count)), normalized by the frequency of the first channel(f_(First)). For the embodiment shown in FIG. 2, the round-trip coarsetime measurement, t_(coarse), is given by the equation

$\begin{matrix}{t_{coarse} = \frac{M_{Count}}{f_{First}}} & (1)\end{matrix}$As evident from the calculation above, a distance measuring system basedsolely on t_(coarse) would be limited by the resolution of the cycletime of the master clock in the first channel of the originator. Forthis reason, the present invention utilizes fine time adjustments toachieve sub-clock cycle time resolution and improved accuracy.

Further in accordance with a first aspect of the present disclosure andin accordance with a third aspect of the present disclosure, as embodiedand broadly described herein, process 300 includes a step 320 ofcalculating a fine time adjustment in an originator. Step 320 may beperformed using an FPGA, an IC, a DSP, or a microcontroller in theoriginator. As described above, the autocorrelation function of a PNcode sequence displays a sharp peak when the PN code sequences arealigned. The peak moves with the phase offset between the two PN codesequences. This phase offset between the first channel master clock andthe second channel master clock will be referred to as the “peak error.”By accurately tracking the peak error during the entire preamblereceived by the second channel (242 in FIG. 2), the system can providean accurate rate of change of the peak error measurements during thatpreamble, and thereby provide an accurate estimate of peak error whenthe synchronization word arrives in the second channel (250 in FIG. 2).As described in greater detail below, this process improves the abilityof an RF ranging system to estimate distance.

In sub-step 322 of step 320, the system calculates a plurality of peakerror measurements during the preamble of an exemplary message receivedby the second channel (242 in FIG. 2). In the present invention, thesystem oversamples the correlation output to provide sufficient datapoints to estimate the peak error. In a preferred embodiment, the systemoversamples the correlation output at four times the frequency of the PNsequence. Referring to FIG. 4, an exemplary depiction of an idealcorrelator output peak is shown. Point 410 depicts the unknown “realpeak” (p_(r)) while point 420 defines the closest sampled value, or“sampled peak” (p_(s)). Points 430, 440, 450, 460, 470 and 480correspond to sampled values, e₁, e₂, e₃, l₁, l₂, and l₃ respectively.The difference between adjacent sampled values is given by H₁ and H₂ asdepicted in FIG. 4 as 442, 452, 462, 472, and 482. Those relationshipsresult in the following equations:H ₁ =e ₁ −e ₂  (2)H ₂ =l ₁ −l ₂  (3)p _(s) =l ₁ +H ₂=2l ₁ −l ₂  (4)

The peak error is a measure of how far the sampled peak (p_(s)) is fromthe unknown “real peak” (p_(r)) in terms of a fractional clock cycle. Apositive peak error is defined as the real peak leading the sampledpeak. The differences between the unknown “real peak” (p_(r)) and theadjacent samples are given by X₁ and X₂, as depicted in FIG. 4 as 432and 422. Thus, the peak error, E_(peak), is given by the equations

$\begin{matrix}{E_{peak} = {\frac{X_{2}}{H_{2}} = \frac{p_{r} - p_{s}}{H_{2}}}} & (5) \\{E_{peak} = {{1 - \frac{X_{1}}{H_{1}}} = {1 - \frac{p_{r} - e_{1}}{H_{1}}}}} & (6)\end{matrix}$

Solving these equations simultaneously results in a peak error equationas follows for the ideal correlator output:

$\begin{matrix}{E_{peak} = \frac{{2\; e_{1}} - e_{s} - {2\; l_{1}} + l_{2}}{e_{1} - e_{s} + l_{1} - l_{2}}} & (7)\end{matrix}$

Due to finite system bandwidth, the correlator output does not have asharp peak as depicted in FIG. 4. In a preferred embodiment, a systemembodying the present disclosure may utilize approximately 22 MHz RFbandwidth. Referring to FIG. 5, an exemplary depiction of a typical,rounded correlator output peak is shown. Point 510 depicts the unknown“real peak” (p_(r)). Points 540, 550, 570 and 580 correspond to sampledvalues e₂, e₃, l₂, and l₃ respectively. Point 520 represents the “ideal”sampled peak (p_(si)) which in the finite bandwidth system is sampled aspoint 524. Point 530 represents the “ideal” sample of value e₁, which inthe finite bandwidth system is sampled as point 534. Similarly, point560 represents the “ideal” sample of value l₁, which in the finitebandwidth system is sampled as point 564. Because the values of p_(si),e₁, and l₁ are unknown in the finite bandwidth case, the system must usesamples further away from p_(r) where the correlator output is morelinear, i.e., less rounded.

Thus, the system uses the following equations:H ₁ =e ₂ −e ₃  (8)H ₂ =l ₂ −l ₃  (9)p _(si) =l ₂+2H ₂ =l ₂+2(l ₂ −l ₃)=3l ₂−2l ₃  (10)

As in the ideal system, the peak error is a measure of how far the idealsampled peak (p_(si)) is from the unknown “real peak” (p_(r)) in termsof a fractional clock cycle. A positive peak error is defined as thereal peak leading the ideal sampled peak. The differences between theunknown “real peak” (p_(r)) and the adjacent samples are given by X₁ andX₂, as depicted in FIG. 5 as 532 and 522. Thus, the peak error,E_(peak), is given by the equations

$\begin{matrix}{E_{peak} = {\frac{X_{2}}{H_{2}} = \frac{p_{r} - p_{si}}{H_{2}}}} & (11) \\{E_{peak} = {{1 - \frac{X_{1}}{H_{1}}} = {1 - \frac{p_{r} - e_{2} + H_{1}}{H_{1}}}}} & (12)\end{matrix}$

Solving these equations simultaneously results in a peak error equationas follows for the each ideal correlator output:

$\begin{matrix}{E_{peak} = \frac{{3\; e_{2}} - {2\; e_{3}} - {3\; l_{2}} + {2\; l_{3}}}{e_{2} - e_{3} + l_{2} - l_{3}}} & (13)\end{matrix}$

In a preferred embodiment, this value is scaled by a factor ofapproximately 1.1 to scale the range of the peak error measurementsbetween −0.5 and 0.5. In the manner described above, in sub-step 322 ofstep 320, the system calculates a plurality of peak error measurements(i.e. one for each correlator output peak) during the entire preamble ofthe message received by the second channel (242 in FIG. 2).

In sub-step 324 of step 320, the system calculates a rate of change(i.e. slope) of the plurality of peak error measurements calculatedduring the entire preamble of the message received by the second channel(242 in FIG. 2). This rate of change is proportional to the frequencyoffset, if any, between the first and second channels of the originatorand is calculated in a manner known in the art.

In sub-step 326 of step 320, the system uses the rate of changecalculated in sub-step 324 to estimate a peak error for when thesynchronization word arrives (at 250 in FIG. 2). This value will bereferred to as E_(Peak). The system calculates the fine time adjustment,t_(Fine), by normalizing E_(Peak) by the first channel master clockfrequency, f_(First), according to the following equation:

$\begin{matrix}{t_{Fine} = \frac{E_{Peak}}{f_{First}}} & (14)\end{matrix}$

Further in accordance with a first aspect and a third aspect of thepresent disclosure, as embodied and broadly described herein, process300 includes a step 330 of calculating a round-trip propagation timeusing the coarse time measurement and the fine time adjustment ascalculated in steps 310 and 320 respectively. Step 330 may be performedusing an FPGA, an IC, a DSP, or a microcontroller in the originator. Ina preferred embodiment, the system calculates the total round-trippropagation time according to the following equation:t _(Pr op) =t _(Coarse) −t _(Fine) −t _(System) _(—) _(Delay) −t _(Loop)_(—) _(Back)  (16)The values for both t_(System) _(—) _(Delay) and t_(Loop) _(—) _(Back)may be calibrated for a particular embodiment and may be fixed valuesfor the relevant calculations.

Further in accordance with a first aspect and a third aspect of thepresent disclosure, as embodied and broadly described herein, process300 includes a step 340 of calculating an estimated one-way distancebetween the originator and transponder using the round-trip propagationtime calculated in step 330. Step 340 may be performed using an FPGA, anIC, a DSP, or a microcontroller in the originator. In a preferredembodiment, the system calculates the estimated distance using thefollowing equation:

$\begin{matrix}{d = {\frac{1}{2}{c \cdot t_{\Pr\;{op}} \cdot k_{Medium}}}} & (17)\end{matrix}$where d is the estimated one-way distance between the originator andtransponder, c is the speed of light, and k_(Medium) is a correctionfactor for the speed of light through the intervening medium between theoriginator and transponder.

Further in accordance with a first aspect of the present disclosure andas described above, process 300 may be implemented in a system where thefirst channel and the second channel of the originator operate atslightly offset master clock frequencies. By offsetting the master clockfrequencies of the first and second channel of the originator, therelative phasing between the channels drifts over time at a measurablerate (the drift rate is proportional to the difference in the masterclock frequencies) and can be utilized in the manner described above.

Further in accordance with a first aspect of the present disclosure andas described above, process 300 may be implemented in a system where thefirst channel and the second channel of the originator operate atslightly offset master clock frequencies. To offset the master clockfrequencies of the first and second channel of the originator, thesystem may utilize one clock for the first channel of the originator anda second clock for the second channel of the originator.

Further in accordance with a first aspect of the present disclosure andas described above, to offset the master clock frequencies of the firstand second channel of the originator, the system may utilize a clock forthe first channel of the originator and a direct digital synthesisdevice to create a specified offset from the first clock at the outputto the second channel of the originator.

Round-Trip Half-Duplex Configuration

Referring now to FIG. 6, an exemplary measurement cycle 600 for around-trip half-duplex configuration is shown. In a round-triphalf-duplex configuration, the originator need only have one channelbecause after the originator transmits a PN-coded message to beginmeasurement cycle 600, the transponder then receives the PN-codedmessage and, rather than retransmitting the message as in the round-tripfull-duplex configuration, processes the message in a similar manner asdid the second channel of the originator in the round-trip full-duplexconfiguration described above. The originator is represented by the topcolumn in FIG. 6 while the transponder is represented by the bottomcolumn in FIG. 6. In a round-trip half-duplex configuration, theoriginator and transponder may both contain transceivers or transmittersknown in the art capable of transmitting and receiving PN-coded messagesand other signals.

In a preferred embodiment, the originator and transponder operate atslightly offset master clock frequencies. By offsetting the master clockfrequencies of the originator and transponder, the relative phasingbetween the radios drifts over time at a measurable rate (the drift rateis proportional to the difference in the master clock frequencies). Thisprovides at least three advantages: (1) the signal occupies the entirestate space between exactly aligned and misaligned by one half basebandclock cycle, providing a scan across the correlation space, (2) themeasured slope of the clock phasing assists in the estimation of therelative phasing when a synchronization word is received, as will bediscussed below, and (3) no additional effort is required to ensuresynchronization between the respective master clock frequencies.

Each measurement cycle 600 begins when the originator begins sending aPN-coded message to the transponder, as shown at 610. As describedabove, each PN-coded message may consist of three parts: a preamble of aplurality of PN code sequences 612, a synchronization word 614, and apayload of data 622. In a preferred embodiment, the preamble 612consists of 512 PN code sequences. Also in a preferred embodiment, thesynchronization word 614 consists of 8 PN code sequences. Also in apreferred embodiment, each PN code sequence is 17 chips in length. Forreasons discussed above, the length of the PN code sequence is inverselyproportional to the theoretical ranging accuracy limit.

After the originator sends a PN-coded message, the transponder receivesthe message, demodulates the RF carrier frequency to baseband, and sendsthe PN-coded message to a correlator, which may be a real-timecorrelator. The propagation time from the originator to the transponderis represented in FIG. 6 by 650. Internal processing delays arerepresented by 652 a (transmitting from the originator) and 652 b(receiving by the transponder).

At 660, the transponder begins receiving data and tracking the phaseoffset, if any, between the received data (which is at the originatormaster clock frequency, f_(Originator)) and the local (transponder)master clock frequency, f_(Transponder). Specifically, the correlator inthe transponder outputs the baseband signal and timing informationregarding the peaks of the autocorrelation function for use in peakerror tracking to calculate a fine time adjustment, as described infurther detail below. The preamble 612 sent by the originator generallycorresponds to the preamble 662 received by the transponder.

At 620, the originator transmits a synchronization word 614, and beginscounting the number of local (originator) master clock cycles thatelapse between 620 and 640, when the originator receives asynchronization word 634 from the transponder. As described below infurther detail, the number of master clock cycles is used to calculate acoarse timing measurement. A synchronization word detector functiondetermines when the synchronization word has been received or sent. Thesynchronization word 634 received by the originator generallycorresponds to the synchronization word 684 sent by the transponder.

At 670, the transponder receives a synchronization word 664, and beginscounting the number of local (transponder) master clock cycles thatelapse between 670 and 690, when the transponder transmits asynchronization word 684 to the originator. As described below infurther detail, the number of master clock cycles is used to calculate acoarse timing measurement. A synchronization word detector functiondetermines when the synchronization word has been received or sent. Thesynchronization word 664 received by the transponder generallycorresponds to synchronization word 614 sent by the originator.

The payload of data 672 received by the transponder generallycorresponds to the payload of data 622 sent by the originator. Thepropagation time 624 a generally corresponds to the propagation timefrom the originator to the transponder, represented by 650. Similarly,system delays 626 a and 626 b generally correspond to system delays 652a and 652 b discussed above. System delay 674 corresponds to systemdelay 626 c and represents system delays in the transponder prior totransmission. System delays 626 and 674, which will be referred tocollectively as t_(System) _(—) _(Delay), may be calibrated for aparticular embodiment and may be either a fixed value or a valuedetermined by the environmental conditions such as temperature.

Generally, and as described below in further detail, the number ofmaster clock cycles counted by the originator and the transponder areused to calculate a coarse timing measurement while the fineadjustments, described below in further detail, allow correction of timeintervals smaller than the master clock cycle of the originator and/orthe transponder.

At 680, the transponder transmits a PN-coded message to the originator.In a preferred embodiment, the preamble 682 consists of 512 PN codesequences. In a preferred embodiment, the synchronization word 634consists of 8 PN code sequences. Also in a preferred embodiment, each PNcode sequence is 17 chips in length. For reasons discussed above, thelength of the PN code sequence is inversely proportional to thetheoretical ranging accuracy limit.

The originator demodulates the RF carrier frequency and sends thePN-coded message to a correlator, which may be a real-time correlator.The propagation time from the transponder to the originator isrepresented by 624 b. System-delays related to receiving at theoriginator are represented by 626 d.

At 630, the originator begins receiving data and tracking the phaseoffset, if any, between the received data (which is at f_(Transponder))and the local (originator) master clock frequency, f_(Originator).Specifically, the correlator in the originator outputs the basebandsignal and timing information regarding the peaks of the autocorrelationfunction for use in peak error tracking to calculate a fine timeadjustment, as described in further detail below. The preamble 682 sentby the transponder generally corresponds to the preamble 632 received bythe originator.

At 690, the transponder sends a synchronization word 684, and ceasescounting the number of local (transponder) master clock cycles that haveelapsed between 670 and 690, as described above. This master clockcount, M_(Count) _(—) _(Transponder), is transmitted to the originatorin payload of data 692 for use in a manner described in further detailbelow. The time frame of M_(Count) _(—) _(Transponder) is represented by686.

At 640, the originator receives a synchronization word 634, and ceasescounting the number of local (originator) master clock cycles that haveelapsed between 620 and 640, as described above. This master clockcount, M_(Count) _(—) _(Originator) used in a manner described infurther detail below. The time frame of M_(Count) _(—) _(Originator) isrepresented by 636. The synchronization word 634 received by theoriginator generally corresponds to the synchronization word 684 sent bythe transponder.

The payload of data 642 received by the originator generally correspondsto the payload of data 692 sent by the transponder.

Referring to FIG. 7, in accordance with a second aspect of the presentdisclosure, as embodied and broadly described herein, a method forestimating a distance between an originator and a transponder 700includes a step 710 of calculating a coarse time measurement. Step 710may be performed using an FPGA, an IC, a DSP, or a microcontroller inthe originator. Generally, the coarse time measurement is proportionalto the difference between the clock cycle counts in the originator andthe transponder (M_(Count) _(—) _(Originator) and M_(Count) _(—)_(Transponder)), each normalized by their respective clock frequencies(f_(Originator) and f_(Transponder)). For the embodiment shown in FIG.6, the round-trip coarse time measurement, t_(coarse), is given by theequation

$\begin{matrix}{t_{coarse} = {\frac{M_{Count\_ Originator}}{f_{Originator}} - \frac{M_{Count\_ Transponder}}{f_{Transponder}}}} & (18)\end{matrix}$As evident from the calculation above, a distance measuring system basedsolely on t_(coarse) would be limited by the resolution of the cycletime of the master clocks in the originator and the transponder. Forthis reason, the present invention utilizes fine time adjustments toachieve sub-clock cycle time resolution and improved accuracy.

Further in accordance with a second aspect of the present disclosure andin accordance with a third aspect of the present disclosure, as embodiedand broadly described herein, process 700 includes a step 720 ofcalculating a first fine time adjustment in a transponder. Step 720 maybe performed using an FPGA, an IC, a DSP, or a microcontroller in thetransponder. As described above, the autocorrelation function of a PNcode sequence displays a sharp peak when the PN code sequences arealigned. The peak moves with the phase offset between the two PN codesequences. This phase offset between the originator master clock and thetransponder master clock will be referred to as the “peak error.” Byaccurately tracking the peak error during the entire preamble receivedby the transponder (662 in FIG. 6), the system can provide an accuraterate of change of the peak error measurements during that preamble, andthereby provide an accurate estimate of peak error when thesynchronization word arrives (at 670 in FIG. 6). As described in greaterdetail below, this process improves the ability of an RF ranging systemto estimate distance.

In sub-step 722 of step 720, the system calculates a first plurality ofpeak error measurements during the preamble of an exemplary messagereceived by the transponder (662 in FIG. 6). All relevant aspects ofsub-step 722 of step 720 are materially similar or the same as thecorresponding aspects of sub-step 322 of step 320.

In sub-step 724 of step 720, the system calculates a rate of change(i.e. slope) of the first plurality of peak error measurementscalculated during the entire preamble of an exemplary message receivedby the transponder (662 in FIG. 6). This rate of change is proportionalto the frequency offset, if any, between the originator and thetransponder and is calculated in a manner known in the art.

In sub-step 726 of step 720, the system uses the rate of changecalculated in sub-step 724 to estimate a peak error for when thesynchronization word arrives (at 670 in FIG. 6). This value will bereferred to as E_(Peak) _(—) _(Sync) _(—) _(One). The system calculatesthe first fine time adjustment, t_(Fine) _(—) _(One), by normalizingE_(Peak) _(—) _(Sync) _(—) _(One) by the transponder master clockfrequency, f_(Transponder) according to the following equation:

$\begin{matrix}{t_{Fine\_ One} = \frac{E_{{Peak\_ Sync}{\_ One}}}{f_{Transponder}}} & (19)\end{matrix}$This first fine time adjustment, t_(Fine) _(—) _(One) is transmitted tothe originator in payload of data 692 for use in a manner described infurther detail below.

Further in accordance with a second aspect and a third aspect of thepresent disclosure, as embodied and broadly described herein, process700 includes a step 730 of calculating a second fine time adjustment inan originator. Step 730 may be performed using an FPGA, an IC, a DSP, ora microcontroller in the originator. By accurately tracking the peakerror during the entire preamble received by the originator (632 in FIG.6), the system can provide an accurate rate of change of the peak errormeasurements during that preamble, and thereby provide an accurateestimate of peak error when the synchronization word arrives (at 640 inFIG. 6). As described in greater detail below, this process improves theability of an RF ranging system to estimate distance.

In sub-step 732 of step 730, the system calculates a second plurality ofpeak error measurements during the preamble of an exemplary messagereceived by the originator (632 in FIG. 6). All relevant aspects ofsub-step 732 of step 730 are materially similar or the same as thecorresponding aspects of sub-step 722 of step 720.

In sub-step 734 of step 730, the system calculates a rate of change(i.e. slope) of the second plurality of peak error measurements obtainedduring the entire preamble of an exemplary message received by theoriginator (632 in FIG. 6). This rate of change is proportional to thefrequency offset, if any, between the originator and the transponder andis calculated in a manner known in the art.

In sub-step 736 of step 730, the system uses the rate of changecalculated in sub-step 734 to estimate a peak error for the moment thesynchronization word arrives (at 640 in FIG. 6). This value will bereferred to as E_(Peak) _(—) _(Sync) _(—) _(Two). In a preferredembodiment, the system calculates the second fine time adjustment,t_(Fine) _(—) _(Two), by normalizing E_(Peak) _(—) _(Sync) _(—) _(Two)by the originator master clock frequency, f_(Originator) according tothe following equation:

$\begin{matrix}{t_{Fine\_ Two} = \frac{E_{{Peak\_ Sync}{\_ Two}}}{f_{Originator}}} & (20)\end{matrix}$This second fine time adjustment and the master clock count, M_(Count)_(—) _(Transponder), are both transmitted to the originator in payloadof data 692 for use in a manner described in further detail below.

Further in accordance with a second aspect of the present disclosure, asembodied and broadly described herein, process 700 includes a step 740of calculating a round-trip propagation time using the coarse timemeasurement and the first and second fine time adjustments as calculatedin steps 710, 720 and 730 respectively. Step 740 may be performed usingan FPGA, an IC, a DSP, or a microcontroller in the originator. In apreferred embodiment, the system calculates the total round-trippropagation time according to the following equation:t _(Prop) =t _(Coarse) −t _(Fine) _(—) _(One) −t _(Fine) _(—) _(Two) −t_(System) _(—) _(Delay)  (21)The value for t_(System) _(—) _(Delay) may be calibrated for aparticular embodiment and may be either a fixed value or a valuedetermined by the environmental conditions such as temperature.

Further in accordance with a second aspect of the present disclosure, asembodied and broadly described herein, process 700 includes a step 750of calculating an estimated distance between the originator and thetransponder using the round-trip propagation time calculated in step740. Step 750 may be performed using an FPGA, an IC, a DSP, or amicrocontroller in the originator. In a preferred embodiment, the systemcalculates the estimated distance using the following equation:

$\begin{matrix}{d = {\frac{1}{2}{c \cdot t_{Prop} \cdot k_{Medium}}}} & (22)\end{matrix}$where d is the estimated one-way distance between the originator andtransponder, c is the speed of light, and k_(Medium) is a correctionfactor for the speed of light through the intervening medium between theoriginator and transponder.

Further in accordance with a second aspect of the present disclosure andas described above, process 700 may be implemented in a system where theoriginator and the transponder operate at slightly offset master clockfrequencies. By offsetting the master clock frequencies of theoriginator and the transponder, the relative phasing between the radiosdrifts over time at a measurable rate (the drift rate is proportional tothe difference in the master clock frequencies) and can be utilized inthe manner described above.

Further in accordance with a fourth, fifth, and sixth aspects of thepresent disclosure, a computer-readable storage medium may containinstructions to configure a processor to perform thepreviously-described methods.

Further in accordance with a seventh aspect of the present disclosure,an originator may be used in a full-duplex system to estimate a distancebetween the originator and a transponder as disclosed above.

Further in accordance with a eighth aspect of the present disclosure, anoriginator may be used in a half-duplex system to estimate a distancebetween the originator and a transponder as disclosed above.

Further in accordance with a ninth aspect of the present disclosure, atransponder may be used in a half-duplex system that estimates adistance between an originator and the transponder as disclosed above.

The foregoing description has been presented for purposes ofillustration. It is not exhaustive and does not limit the invention tothe precise forms or embodiments disclosed. Modifications andadaptations of the invention will be apparent to those skilled in theart from consideration of the specification and practice of thedisclosed embodiments of the invention. Additionally, although aspectsof the invention are described as being stored in memory, one skilled inthe art will appreciate that these aspects can also be stored on othertypes of computer-readable media, such as secondary storage devices, forexample, hard disks, floppy disks, or CD-ROM, in silicon, in an FPGA, inan IC, or various forms of RAM or ROM.

Computer programs based on the written description and methods of thisinvention are within the skill of an experienced developer. The variousprograms or program modules can be created using any of the techniquesknown to one skilled in the art or can be designed in connection withexisting software. For example, program sections or program modules canbe designed for processing on an FPGA, IC, DSP, or microcontroller.

Moreover, while illustrative embodiments of the invention have beendescribed herein, the scope of the invention includes any and allembodiments having equivalent elements, modifications, omissions,combinations (e.g., of aspects across various embodiments), adaptationsand/or alterations as would be appreciated by those skilled in the artbased on the present disclosure. The limitations in the claims are to beinterpreted broadly based on the language employed in the claims and notlimited to examples described in the present specification or during theprosecution of the application, which examples are to be construed asnon-exclusive. Further, the steps of the disclosed methods may bemodified in any manner, including by reordering steps and/or insertingor deleting steps, without departing from the principles of theinvention. It is intended, therefore, that the specification andexamples be considered as exemplary only, with a true scope and spiritof the invention being indicated by the following claims and their fullscope of equivalents.

1. A method for calculating a fine time adjustment in a radio, themethod comprising: receiving at a processor an output from a correlator;calculating a plurality of peak error measurements of a correlatoroutput in said radio during a time period; calculating a rate of changeof said plurality of peak error measurements; estimating a peak error ata point after said time period by using said rate of change of saidplurality of peak error measurements; and normalizing said estimatedpeak error.
 2. The method of claim 1, wherein said radio is anoriginator and, during said normalizing step, said estimated peak erroris divided by a master clock frequency of a first channel of saidoriginator.
 3. The method of claim 1, wherein said radio is atransponder and, during said normalizing step, said estimated peak erroris divided by a master clock frequency of said transponder.
 4. Themethod of claim 1, wherein said radio is an originator and, during saidnormalizing step, said estimated peak error is divided by a master clockfrequency of said originator.
 5. The method of claim 1, wherein saidplurality of peak error measurements are scaled such that the possiblerange of values is between approximately −0.5 and 0.5.
 6. The method ofclaim 1, wherein said output received from a correlator is oversampledcompared to a PN sequence input to said correlator.
 7. The method ofclaim 6, wherein said output received from a correlator is oversampledapproximately four times said PN sequence input to said correlator.
 8. Aprocessor for calculating a fine time adjustment within a radio, theprocessor comprising: a calculating means for calculating a plurality ofpeak error measurements using output received from a correlator in saidradio during a time period; a calculating means for calculating a rateof change of said plurality of peak error measurements; an estimatingmeans for estimating a peak error at a point after said time period byusing said rate of change of said plurality of peak error measurements;and a normalizing means for normalizing said estimated peak error. 9.The processor of claim 8, wherein said radio is an originator and,during said normalizing step, said estimated peak error is divided by amaster clock frequency of a first channel of said originator.
 10. Theprocessor of claim 8, wherein said radio is a transponder and, duringsaid normalizing step, said estimated peak error is divided by a masterclock frequency of said transponder.
 11. The processor of claim 8,wherein said radio is an originator and, during said normalizing step,said estimated peak error is divided by a master clock frequency of saidoriginator.
 12. The processor of claim 8, wherein said plurality of peakerror measurements are scaled such that the possible range of values isbetween approximately −0.5 and 0.5.
 13. The processor of claim 8,wherein said output received from a correlator is oversampled comparedto a PN sequence input to said correlator.
 14. The processor of claim13, wherein said output received from a correlator is oversampledapproximately four times said PN sequence input to said correlator. 15.The processor of claim 8, wherein said processor is a field programmablegate array.
 16. The processor of claim 8, wherein said processor is anintegrated circuit.
 17. The processor of claim 8, wherein said processoris a digital signal processor.
 18. The processor of claim 8, whereinsaid processor is a microcontroller.
 19. The processor of claim 14,wherein said processor is a field programmable gate array.
 20. Theprocessor of claim 14, wherein said processor is an integrated circuit.